package com.hades.xq.miaoshao.service.model;

import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 聚合item和item_stock表内的字段数据,model是给业务层处理业务逻辑的
 */
@Data
public class ItemModel {


    /**
     * 聚合模型，如果promoModel不为空，则该商品还有未结束的秒杀活动
     */
    private PromoModel promoModel;

    private Integer id;

    /**
     * 商品名称
     */
    @NotBlank(message = "商品名称不能为空")
    private String title;

    /**
     * 商品价格
     */
    @NotNull(message = "商品价格不能为空")
    @Min(value = 0, message = "商品价格不能为0")
    private BigDecimal price;

    /**
     * 商品库存
     */
    @NotNull(message = "商品库存不能为空")
    private Integer stock;

    /**
     * 商品描述
     */
    @NotNull(message = "商品描述不能为空")
    private String description;

    /**
     * 商品的销量
     */
    private Integer sales;

    /**
     * 商品描述图片的url
     */
    @NotNull(message = "商品描述图片不能为空")
    private String imgUrl;
}
